[INFO] cloning repository https://github.com/arquitenens/Tangled
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/arquitenens/Tangled" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farquitenens%2FTangled", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farquitenens%2FTangled'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4c6dd2c272897049ecdff4dc2fd7839e2a067226
[INFO] fixing arquitenens/Tangled against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farquitenens%2FTangled" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/arquitenens/Tangled
[INFO] finished tweaking git repo https://github.com/arquitenens/Tangled
[INFO] tweaked toml for git repo https://github.com/arquitenens/Tangled written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/arquitenens/Tangled on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/arquitenens/Tangled already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bc1cb0603fa42a82bbbbb8c98ae7d4bea73a41c3036a6c59037a402a2f2ae03b
[INFO] running `Command { std: "docker" "start" "bc1cb0603fa42a82bbbbb8c98ae7d4bea73a41c3036a6c59037a402a2f2ae03b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bc1cb0603fa42a82bbbbb8c98ae7d4bea73a41c3036a6c59037a402a2f2ae03b" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bc1cb0603fa42a82bbbbb8c98ae7d4bea73a41c3036a6c59037a402a2f2ae03b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bc1cb0603fa42a82bbbbb8c98ae7d4bea73a41c3036a6c59037a402a2f2ae03b" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]     Checking core_types v0.1.0 (/opt/rustwide/workdir/src/core_types)
[INFO] [stderr]     Checking tangled_single v0.1.0 (/opt/rustwide/workdir/src/SingleTangled)
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/SingleTangled/src/tangled_single.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/SingleTangled/src/tangled_single.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/SingleTangled/src/lib.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/core_types/src/lib.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:594:17
[INFO] [stdout]     |
[INFO] [stdout] 593 |                 panic!("{:?}",x);
[INFO] [stdout]     |                 ---------------- any code following this expression is unreachable
[INFO] [stdout] 594 |                 unreachable!()
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:594:17
[INFO] [stdout]     |
[INFO] [stdout] 593 |                 panic!("{:?}",x);
[INFO] [stdout]     |                 ---------------- any code following this expression is unreachable
[INFO] [stdout] 594 |                 unreachable!()
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rough_index`
[INFO] [stdout]   --> src/SingleTangled/src/tangled_single.rs:93:22
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let (offset, rough_index) = inner.convert_index(index).unwrap();
[INFO] [stdout]    |                      ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rough_index`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rough_index`
[INFO] [stdout]   --> src/SingleTangled/src/tangled_single.rs:93:22
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let (offset, rough_index) = inner.convert_index(index).unwrap();
[INFO] [stdout]    |                      ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rough_index`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:311:34
[INFO] [stdout]     |
[INFO] [stdout] 309 |                 unsafe {
[INFO] [stdout]     |                 ------ because it's nested under this `unsafe` block
[INFO] [stdout] 310 |                     let p = self.parent.as_mut();
[INFO] [stdout] 311 |                     let (_, i) = unsafe {&*p.borrow_state.get()}.get(&self.ptr).unwrap();
[INFO] [stdout]     |                                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:313:25
[INFO] [stdout]     |
[INFO] [stdout] 309 |                 unsafe {
[INFO] [stdout]     |                 ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 313 |                         unsafe { let _ = Box::from_raw(self.ptr.as_ptr()); }
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:322:34
[INFO] [stdout]     |
[INFO] [stdout] 320 |                 unsafe {
[INFO] [stdout]     |                 ------ because it's nested under this `unsafe` block
[INFO] [stdout] 321 |                     let p = self.parent.as_mut();
[INFO] [stdout] 322 |                     let (_, i) = unsafe {&*p.borrow_state.get()}.get(&self.ptr).unwrap();
[INFO] [stdout]     |                                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:324:25
[INFO] [stdout]     |
[INFO] [stdout] 320 |                 unsafe {
[INFO] [stdout]     |                 ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 324 |                         unsafe { let _ = Box::from_raw(self.ptr.as_ptr()); }
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:384:9
[INFO] [stdout]     |
[INFO] [stdout] 384 |         unsafe {MutTangledIter::new(self)}
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:442:32
[INFO] [stdout]     |
[INFO] [stdout] 442 |                 let other = &(&*ptr.as_ref().get())[offset];
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:435:5
[INFO] [stdout]     |
[INFO] [stdout] 435 |     pub unsafe fn get_raw(&self, index: usize) -> Option<NonNull<T>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:311:34
[INFO] [stdout]     |
[INFO] [stdout] 309 |                 unsafe {
[INFO] [stdout]     |                 ------ because it's nested under this `unsafe` block
[INFO] [stdout] 310 |                     let p = self.parent.as_mut();
[INFO] [stdout] 311 |                     let (_, i) = unsafe {&*p.borrow_state.get()}.get(&self.ptr).unwrap();
[INFO] [stdout]     |                                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:313:25
[INFO] [stdout]     |
[INFO] [stdout] 309 |                 unsafe {
[INFO] [stdout]     |                 ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 313 |                         unsafe { let _ = Box::from_raw(self.ptr.as_ptr()); }
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:322:34
[INFO] [stdout]     |
[INFO] [stdout] 320 |                 unsafe {
[INFO] [stdout]     |                 ------ because it's nested under this `unsafe` block
[INFO] [stdout] 321 |                     let p = self.parent.as_mut();
[INFO] [stdout] 322 |                     let (_, i) = unsafe {&*p.borrow_state.get()}.get(&self.ptr).unwrap();
[INFO] [stdout]     |                                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:324:25
[INFO] [stdout]     |
[INFO] [stdout] 320 |                 unsafe {
[INFO] [stdout]     |                 ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 324 |                         unsafe { let _ = Box::from_raw(self.ptr.as_ptr()); }
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:384:9
[INFO] [stdout]     |
[INFO] [stdout] 384 |         unsafe {MutTangledIter::new(self)}
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:442:32
[INFO] [stdout]     |
[INFO] [stdout] 442 |                 let other = &(&*ptr.as_ref().get())[offset];
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:435:5
[INFO] [stdout]     |
[INFO] [stdout] 435 |     pub unsafe fn get_raw(&self, index: usize) -> Option<NonNull<T>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::as_ref` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:442:33
[INFO] [stdout]     |
[INFO] [stdout] 442 |                 let other = &(&*ptr.as_ref().get())[offset];
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:519:28
[INFO] [stdout]     |
[INFO] [stdout] 519 |         return if let Some(mut handle) = self.get_handle(rough_index){
[INFO] [stdout]     |                            ----^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:540:9
[INFO] [stdout]     |
[INFO] [stdout] 540 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:562:25
[INFO] [stdout]     |
[INFO] [stdout] 562 |             let entry = unsafe { &*raw }.get(&ptr_at_index).unwrap();
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::as_ref` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:442:33
[INFO] [stdout]     |
[INFO] [stdout] 442 |                 let other = &(&*ptr.as_ref().get())[offset];
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:630:29
[INFO] [stdout]     |
[INFO] [stdout] 630 |                     let _ = Box::from_raw(ptr.as_ptr());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:622:5
[INFO] [stdout]     |
[INFO] [stdout] 622 |     pub unsafe fn drop_vec(&mut self, ptr: ManuallyDrop<NonNull<UnsafeCell<Box<Vec<T>>>>>) -> Option<usize>{ //returns the index it...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:638:29
[INFO] [stdout]     |
[INFO] [stdout] 638 |                     let _ = Box::from_raw(ptr.as_ptr());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:681:14
[INFO] [stdout]     |
[INFO] [stdout] 681 |         let (offset,rough) = self.inner.convert_index(index).unwrap();
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:684:13
[INFO] [stdout]     |
[INFO] [stdout] 684 |         let val = handle.get_element(index);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:519:28
[INFO] [stdout]     |
[INFO] [stdout] 519 |         return if let Some(mut handle) = self.get_handle(rough_index){
[INFO] [stdout]     |                            ----^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:540:9
[INFO] [stdout]     |
[INFO] [stdout] 540 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:562:25
[INFO] [stdout]     |
[INFO] [stdout] 562 |             let entry = unsafe { &*raw }.get(&ptr_at_index).unwrap();
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_mut_handle` is never used
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:552:8
[INFO] [stdout]     |
[INFO] [stdout] 528 | impl<T: Debug> MutBorrowedTangled<'_, T> {
[INFO] [stdout]     | ---------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 552 |     fn get_mut_handle(&mut self, index: usize) -> Option<RefHandle<'_, T>>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:630:29
[INFO] [stdout]     |
[INFO] [stdout] 630 |                     let _ = Box::from_raw(ptr.as_ptr());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:622:5
[INFO] [stdout]     |
[INFO] [stdout] 622 |     pub unsafe fn drop_vec(&mut self, ptr: ManuallyDrop<NonNull<UnsafeCell<Box<Vec<T>>>>>) -> Option<usize>{ //returns the index it...
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:638:29
[INFO] [stdout]     |
[INFO] [stdout] 638 |                     let _ = Box::from_raw(ptr.as_ptr());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:681:14
[INFO] [stdout]     |
[INFO] [stdout] 681 |         let (offset,rough) = self.inner.convert_index(index).unwrap();
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:684:13
[INFO] [stdout]     |
[INFO] [stdout] 684 |         let val = handle.get_element(index);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_mut_handle` is never used
[INFO] [stdout]    --> src/SingleTangled/src/tangled_single.rs:552:8
[INFO] [stdout]     |
[INFO] [stdout] 528 | impl<T: Debug> MutBorrowedTangled<'_, T> {
[INFO] [stdout]     | ---------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 552 |     fn get_mut_handle(&mut self, index: usize) -> Option<RefHandle<'_, T>>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]     Checking config v0.1.0 (/opt/rustwide/workdir/src/Config)
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> src/Config/src/config.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core_types::indexing_mode::IndexingMode::*`
[INFO] [stdout]  --> src/Config/src/config_inner.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use core_types::indexing_mode::IndexingMode::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config::Config`
[INFO] [stdout]  --> src/Config/src/config_inner.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::config::Config;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> src/Config/src/config.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core_types::indexing_mode::IndexingMode::*`
[INFO] [stdout]  --> src/Config/src/config_inner.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use core_types::indexing_mode::IndexingMode::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config::Config`
[INFO] [stdout]  --> src/Config/src/config_inner.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::config::Config;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/Config/src/lib.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_count`
[INFO] [stdout]   --> src/Config/src/config.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new(thread_count: usize, flavor: IndexingMode, loop_type: WakeType) -> Self{
[INFO] [stdout]    |                ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_count`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `loop_type`, `max_thread_count`, and `inner` are never read
[INFO] [stdout]  --> src/Config/src/config.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Config<T>{
[INFO] [stdout]   |            ------ fields in this struct
[INFO] [stdout] 7 |     loop_type: WakeType,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 8 |     max_thread_count: usize,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     inner: ConfigInner<T>
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Config` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `flavor` is never read
[INFO] [stdout]  --> src/Config/src/config_inner.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ConfigInner<T>{
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 9 |     flavor: IndexingMode,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ConfigInner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_count`
[INFO] [stdout]   --> src/Config/src/config.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new(thread_count: usize, flavor: IndexingMode, loop_type: WakeType) -> Self{
[INFO] [stdout]    |                ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_count`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `loop_type`, `max_thread_count`, and `inner` are never read
[INFO] [stdout]  --> src/Config/src/config.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Config<T>{
[INFO] [stdout]   |            ------ fields in this struct
[INFO] [stdout] 7 |     loop_type: WakeType,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 8 |     max_thread_count: usize,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     inner: ConfigInner<T>
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Config` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `flavor` is never read
[INFO] [stdout]  --> src/Config/src/config_inner.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ConfigInner<T>{
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 9 |     flavor: IndexingMode,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ConfigInner` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tangled v0.1.0 (/opt/rustwide/workdir/src/Tangled)
[INFO] [stdout] error[E0432]: unresolved import `crate::tangled::TangledHandle`
[INFO] [stdout]   --> src/Tangled/src/tangled_inner.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::tangled::TangledHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^-------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     no `TangledHandle` in `tangled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::tangled::TangledHandle`
[INFO] [stdout]  --> src/Tangled/src/borrow.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::tangled::TangledHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^-------------
[INFO] [stdout]   |                     |
[INFO] [stdout]   |                     no `TangledHandle` in `tangled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::tangled::TangledHandle`
[INFO] [stdout]   --> src/Tangled/src/worker.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::tangled::TangledHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^-------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     no `TangledHandle` in `tangled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/Tangled/src/tangled.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::TypeId`
[INFO] [stdout]  --> src/Tangled/src/tangled_inner.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::TypeId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::UnsafeCell`
[INFO] [stdout]  --> src/Tangled/src/tangled_inner.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::UnsafeCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/Tangled/src/tangled_inner.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::NonNull`
[INFO] [stdout]  --> src/Tangled/src/tangled_inner.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ptr::NonNull;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> src/Tangled/src/tangled_inner.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::mpsc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core_types::inner_vec::InnerVecWrapper`
[INFO] [stdout]  --> src/Tangled/src/tangled_inner.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use core_types::inner_vec::InnerVecWrapper;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core_types::borrow_state::BorrowState`
[INFO] [stdout]  --> src/Tangled/src/tangled_inner.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use core_types::borrow_state::BorrowState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tangled::Tangled`
[INFO] [stdout]   --> src/Tangled/src/tangled_inner.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::tangled::Tangled;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::commands::IndexType::Rough`
[INFO] [stdout]  --> src/Tangled/src/tangled_indexing.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::commands::IndexType::Rough;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> src/Tangled/src/borrow.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::mpsc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tangled::Tangled`
[INFO] [stdout]  --> src/Tangled/src/borrow.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tangled::Tangled;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::handle::RefHandle`
[INFO] [stdout]  --> src/Tangled/src/borrow.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::handle::RefHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tangled_inner::TangledInner`
[INFO] [stdout]  --> src/Tangled/src/borrow.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::tangled_inner::TangledInner;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tangled_inner::TangledInner`
[INFO] [stdout]  --> src/Tangled/src/commands.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::tangled_inner::TangledInner;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/Tangled/src/commands.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/Tangled/src/worker.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tangled_inner::TangledInner`
[INFO] [stdout]  --> src/Tangled/src/worker.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tangled_inner::TangledInner;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tangled_indexing`
[INFO] [stdout]  --> src/Tangled/src/worker.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::tangled_indexing;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::tangled::TangledHandle`
[INFO] [stdout]   --> src/Tangled/src/tangled_inner.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::tangled::TangledHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^-------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     no `TangledHandle` in `tangled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::tangled::TangledHandle`
[INFO] [stdout]  --> src/Tangled/src/borrow.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::tangled::TangledHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^-------------
[INFO] [stdout]   |                     |
[INFO] [stdout]   |                     no `TangledHandle` in `tangled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::tangled::TangledHandle`
[INFO] [stdout]   --> src/Tangled/src/worker.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::tangled::TangledHandle;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^-------------
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     no `TangledHandle` in `tangled`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/Tangled/src/tangled.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::TypeId`
[INFO] [stdout]  --> src/Tangled/src/tangled_inner.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::TypeId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::UnsafeCell`
[INFO] [stdout]  --> src/Tangled/src/tangled_inner.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::UnsafeCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/Tangled/src/tangled_inner.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr::NonNull`
[INFO] [stdout]  --> src/Tangled/src/tangled_inner.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::ptr::NonNull;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> src/Tangled/src/tangled_inner.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::mpsc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core_types::inner_vec::InnerVecWrapper`
[INFO] [stdout]  --> src/Tangled/src/tangled_inner.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use core_types::inner_vec::InnerVecWrapper;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core_types::borrow_state::BorrowState`
[INFO] [stdout]  --> src/Tangled/src/tangled_inner.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use core_types::borrow_state::BorrowState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tangled::Tangled`
[INFO] [stdout]   --> src/Tangled/src/tangled_inner.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::tangled::Tangled;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::commands::IndexType::Rough`
[INFO] [stdout]  --> src/Tangled/src/tangled_indexing.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::commands::IndexType::Rough;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc`
[INFO] [stdout]  --> src/Tangled/src/borrow.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::mpsc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tangled::Tangled`
[INFO] [stdout]  --> src/Tangled/src/borrow.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tangled::Tangled;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::handle::RefHandle`
[INFO] [stdout]  --> src/Tangled/src/borrow.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::handle::RefHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tangled_inner::TangledInner`
[INFO] [stdout]  --> src/Tangled/src/borrow.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::tangled_inner::TangledInner;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tangled_inner::TangledInner`
[INFO] [stdout]  --> src/Tangled/src/commands.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::tangled_inner::TangledInner;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/Tangled/src/commands.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/Tangled/src/worker.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tangled_inner::TangledInner`
[INFO] [stdout]  --> src/Tangled/src/worker.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::tangled_inner::TangledInner;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tangled_indexing`
[INFO] [stdout]  --> src/Tangled/src/worker.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::tangled_indexing;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/Tangled/src/lib.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:696:17
[INFO] [stdout]     |
[INFO] [stdout] 695 |                 panic!("{:?}",x);
[INFO] [stdout]     |                 ---------------- any code following this expression is unreachable
[INFO] [stdout] 696 |                 unreachable!()
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `sender` on type `&Tangled<T>`
[INFO] [stdout]   --> src/Tangled/src/worker.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let receiver = inner.sender.cmd_tx.clone();
[INFO] [stdout]    |                              ^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `indexing` on type `&Tangled<T>`
[INFO] [stdout]   --> src/Tangled/src/worker.rs:19:43
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let parent = ptr::from_ref(&inner.indexing);
[INFO] [stdout]    |                                           ^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:696:17
[INFO] [stdout]     |
[INFO] [stdout] 695 |                 panic!("{:?}",x);
[INFO] [stdout]     |                 ---------------- any code following this expression is unreachable
[INFO] [stdout] 696 |                 unreachable!()
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `sender` on type `&Tangled<T>`
[INFO] [stdout]   --> src/Tangled/src/worker.rs:18:30
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let receiver = inner.sender.cmd_tx.clone();
[INFO] [stdout]    |                              ^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `indexing` on type `&Tangled<T>`
[INFO] [stdout]   --> src/Tangled/src/worker.rs:19:43
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let parent = ptr::from_ref(&inner.indexing);
[INFO] [stdout]    |                                           ^^^^^^^^ unknown field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:303:21
[INFO] [stdout]     |
[INFO] [stdout] 303 |                 let mut ptr = &mut self.p_borrow;
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:363:34
[INFO] [stdout]     |
[INFO] [stdout] 361 |                 unsafe {
[INFO] [stdout]     |                 ------ because it's nested under this `unsafe` block
[INFO] [stdout] 362 |                     let p = self.parent.as_mut();
[INFO] [stdout] 363 |                     let (_, i) = unsafe {&*p.borrow_state.get()}.get(&self.ptr).unwrap();
[INFO] [stdout]     |                                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:365:25
[INFO] [stdout]     |
[INFO] [stdout] 361 |                 unsafe {
[INFO] [stdout]     |                 ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 365 |                         unsafe { let _ = Box::from_raw(self.ptr.as_ptr()); }
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:374:31
[INFO] [stdout]     |
[INFO] [stdout] 374 |                     let idx = unsafe {&mut *p.borrow_state.get_mut()}.get_mut(&self.ptr).unwrap().1;
[INFO] [stdout]     |                               ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:377:25
[INFO] [stdout]     |
[INFO] [stdout] 372 |                 unsafe {
[INFO] [stdout]     |                 ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 377 |                         unsafe { let _ = Box::from_raw(self.ptr.as_ptr()); }
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:471:9
[INFO] [stdout]     |
[INFO] [stdout] 471 |         unsafe {MutTangledIter::new(self)}
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:530:32
[INFO] [stdout]     |
[INFO] [stdout] 530 |                 let other = &(&*ptr.as_ref().get())[offset];
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:523:5
[INFO] [stdout]     |
[INFO] [stdout] 523 |     pub unsafe fn get_raw(&self, index: usize) -> Option<NonNull<T>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:303:21
[INFO] [stdout]     |
[INFO] [stdout] 303 |                 let mut ptr = &mut self.p_borrow;
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::as_ref` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:530:33
[INFO] [stdout]     |
[INFO] [stdout] 530 |                 let other = &(&*ptr.as_ref().get())[offset];
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:363:34
[INFO] [stdout]     |
[INFO] [stdout] 361 |                 unsafe {
[INFO] [stdout]     |                 ------ because it's nested under this `unsafe` block
[INFO] [stdout] 362 |                     let p = self.parent.as_mut();
[INFO] [stdout] 363 |                     let (_, i) = unsafe {&*p.borrow_state.get()}.get(&self.ptr).unwrap();
[INFO] [stdout]     |                                  ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:365:25
[INFO] [stdout]     |
[INFO] [stdout] 361 |                 unsafe {
[INFO] [stdout]     |                 ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 365 |                         unsafe { let _ = Box::from_raw(self.ptr.as_ptr()); }
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:374:31
[INFO] [stdout]     |
[INFO] [stdout] 374 |                     let idx = unsafe {&mut *p.borrow_state.get_mut()}.get_mut(&self.ptr).unwrap().1;
[INFO] [stdout]     |                               ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:377:25
[INFO] [stdout]     |
[INFO] [stdout] 372 |                 unsafe {
[INFO] [stdout]     |                 ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 377 |                         unsafe { let _ = Box::from_raw(self.ptr.as_ptr()); }
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:617:14
[INFO] [stdout]     |
[INFO] [stdout] 617 |         let (offset, rough_index) = self.inner.convert_index(index).unwrap();
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:634:9
[INFO] [stdout]     |
[INFO] [stdout] 634 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:656:25
[INFO] [stdout]     |
[INFO] [stdout] 656 |             let entry = unsafe { &*raw }.get(&ptr_at_index).unwrap();
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:746:29
[INFO] [stdout]     |
[INFO] [stdout] 746 |                     let _ = Box::from_raw(ptr.as_ptr());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:738:5
[INFO] [stdout]     |
[INFO] [stdout] 738 |     pub unsafe fn drop_vec(&mut self, ptr: ManuallyDrop<NonNull<UnsafeCell<Box<Vec<T>>>>>) -> Option<usize>{
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tangled` (lib) due to 5 previous errors; 41 warnings emitted
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:754:29
[INFO] [stdout]     |
[INFO] [stdout] 754 |                     let _ = Box::from_raw(ptr.as_ptr());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:471:9
[INFO] [stdout]     |
[INFO] [stdout] 471 |         unsafe {MutTangledIter::new(self)}
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:806:14
[INFO] [stdout]     |
[INFO] [stdout] 806 |         let (offset, rough_index) = self.inner.convert_index(index).unwrap();
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:530:32
[INFO] [stdout]     |
[INFO] [stdout] 530 |                 let other = &(&*ptr.as_ref().get())[offset];
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^ dereference of raw pointer
[INFO] [stdout]     |
[INFO] [stdout]     = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:523:5
[INFO] [stdout]     |
[INFO] [stdout] 523 |     pub unsafe fn get_raw(&self, index: usize) -> Option<NonNull<T>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::NonNull::<T>::as_ref` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:530:33
[INFO] [stdout]     |
[INFO] [stdout] 530 |                 let other = &(&*ptr.as_ref().get())[offset];
[INFO] [stdout]     |                                 ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `insertion_heavy`
[INFO] [stdout]   --> src/Tangled/src/tangled_indexing.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let insertion_heavy = &self.prefix_vec.1;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_insertion_heavy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:617:14
[INFO] [stdout]     |
[INFO] [stdout] 617 |         let (offset, rough_index) = self.inner.convert_index(index).unwrap();
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:634:9
[INFO] [stdout]     |
[INFO] [stdout] 634 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/Tangled/src/borrow.rs:45:14
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let (tx, rx) = unbounded::<Option<T>>();
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:656:25
[INFO] [stdout]     |
[INFO] [stdout] 656 |             let entry = unsafe { &*raw }.get(&ptr_at_index).unwrap();
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/Tangled/src/borrow.rs:66:14
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let (tx, rx) = unbounded::<Option<T>>();
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rx`
[INFO] [stdout]   --> src/Tangled/src/borrow.rs:66:18
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let (tx, rx) = unbounded::<Option<T>>();
[INFO] [stdout]    |                  ^^ help: if this is intentional, prefix it with an underscore: `_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent`
[INFO] [stdout]   --> src/Tangled/src/borrow.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let parent = self.inner.get_methods();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/Tangled/src/borrow.rs:79:14
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let (tx, rx) = unbounded::<Option<T>>();
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rx`
[INFO] [stdout]   --> src/Tangled/src/borrow.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let (tx, rx) = unbounded::<Option<T>>();
[INFO] [stdout]    |                  ^^ help: if this is intentional, prefix it with an underscore: `_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:746:29
[INFO] [stdout]     |
[INFO] [stdout] 746 |                     let _ = Box::from_raw(ptr.as_ptr());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:738:5
[INFO] [stdout]     |
[INFO] [stdout] 738 |     pub unsafe fn drop_vec(&mut self, ptr: ManuallyDrop<NonNull<UnsafeCell<Box<Vec<T>>>>>) -> Option<usize>{
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::boxed::Box::<T>::from_raw` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:754:29
[INFO] [stdout]     |
[INFO] [stdout] 754 |                     let _ = Box::from_raw(ptr.as_ptr());
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/Tangled/src/tangled.rs:806:14
[INFO] [stdout]     |
[INFO] [stdout] 806 |         let (offset, rough_index) = self.inner.convert_index(index).unwrap();
[INFO] [stdout]     |              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0133, E0432, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `insertion_heavy`
[INFO] [stdout]   --> src/Tangled/src/tangled_indexing.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let insertion_heavy = &self.prefix_vec.1;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_insertion_heavy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/Tangled/src/borrow.rs:45:14
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let (tx, rx) = unbounded::<Option<T>>();
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/Tangled/src/borrow.rs:66:14
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let (tx, rx) = unbounded::<Option<T>>();
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rx`
[INFO] [stdout]   --> src/Tangled/src/borrow.rs:66:18
[INFO] [stdout]    |
[INFO] [stdout] 66 |         let (tx, rx) = unbounded::<Option<T>>();
[INFO] [stdout]    |                  ^^ help: if this is intentional, prefix it with an underscore: `_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parent`
[INFO] [stdout]   --> src/Tangled/src/borrow.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let parent = self.inner.get_methods();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_parent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/Tangled/src/borrow.rs:79:14
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let (tx, rx) = unbounded::<Option<T>>();
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rx`
[INFO] [stdout]   --> src/Tangled/src/borrow.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let (tx, rx) = unbounded::<Option<T>>();
[INFO] [stdout]    |                  ^^ help: if this is intentional, prefix it with an underscore: `_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0133, E0432, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tangled` (lib test) due to 5 previous errors; 42 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "bc1cb0603fa42a82bbbbb8c98ae7d4bea73a41c3036a6c59037a402a2f2ae03b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc1cb0603fa42a82bbbbb8c98ae7d4bea73a41c3036a6c59037a402a2f2ae03b", kill_on_drop: false }`
[INFO] [stdout] bc1cb0603fa42a82bbbbb8c98ae7d4bea73a41c3036a6c59037a402a2f2ae03b
